﻿/*
格式阵列二 
Time Limit:1000MS  Memory Limit:32768K


Description:
根据读入的阶，按样例打印格式阵列。

Input:
输入数据含有不超过50个正整数n（1≤n≤25）。 
Output:
输出以n为阶的格式阵列。每个元素由一对括号和括号中的整数对组成，元素前应空一格。每个元素的整数对正是该元素的行号与列号。每个格式阵列之间应有一空行，最前与最后不应有空行。样本输出中，□表示空格。 
Sample Input:
6 3
Sample Output:
□(1,1)□(1,2)□(1,3)□(1,4)□(1,5)□(1,6)
□(2,1)□(2,2)□(2,3)□(2,4)□(2,5)□(2,6)
□(3,1)□(3,2)□(3,3)□(3,4)□(3,5)□(3,6)
□(4,1)□(4,2)□(4,3)□(4,4)□(4,5)□(4,6)
□(5,1)□(5,2)□(5,3)□(5,4)□(5,5)□(5,6)
□(6,1)□(6,2)□(6,3)□(6,4)□(6,5)□(6,6)

□(1,1)□(1,2)□(1,3)
□(2,1)□(2,2)□(2,3)
□(3,1)□(3,2)□(3,3)
*/

#include <stdio.h>

namespace ctb{
	void format(unsigned num)
	{

		for (unsigned i=1u; i<=num; ++i)
		{
			for (unsigned j=1u; j<=num; ++j)
			{
				printf(" (%u,%u)", i, j);
			}
			printf("\n");
		}
		printf("\n");
	}
}
int main(int argc, char *argv[])
{
	unsigned num;
	while (EOF!=scanf("%u", &num))
		ctb::format(num);
	return 0;
}